import * as echarts from 'echarts'
import chinaMapData from '@/ components/page-echart/utils/china.json'

echarts.registerMap('china', chinaMapData)

export default function (el: HTMLElement) {
  //初始化实例子
  const echartInstance = echarts.init(el)

  //setOption更新echarts的数据展示
  const setOptions = (options: echarts.EChartsOption) => {
    echartInstance.setOption(options)
  }
  //当点击其他事件，影响的窗口的大小时，需要自己主动的调用一次resize方法，自己外部组件调用这个方法
  const updateSize = () => {
    echartInstance.resize()
  }
  // 实现响应式图表，监听事件，调用resize方法
  window.addEventListener('resize', () => {
    echartInstance.resize()
  })
  //为了只拿其中的一个属性，所以采用对象形式导出。而不是元祖的方式导出
  return {
    echartInstance,
    setOptions,
    updateSize
  }
}
